Solaris有支援Rose-Based Access Control(RBAC), 以增加權限控管的彈性,新增了角色(Role)的機制。
因為系統的管理可能有多人,因此root的密碼可能被分享, 但是root是系統的超級管理員,擁有系統所有的權限,而且登入時只以root登入,發生問題時根本無法得知身分。
所以我們可以將root由使用者身分轉變為角色,其特點如下:
# useradd -m -d /export/home/admin1 admin1
# passwd admin1
# usermod -K type=role root
# usermod -R root admin1
完成之後,可以查看/etc/user_attr內的設定改變:
# grep root /etc/user_attr
root::::type=role;auths=solaris.* ...略
# grep admin1 /etc/user_attr
admin1::::type=normal;roles=root
接著我們以putty軟體,驗證root無法登入:
login as: root
Using keyboard-interactive authentication.
Password:
Access denied
只能以admin1登入後,再以su - root切換角色
login as: admin1
Using keyboard-interactive authentication.
Password:
Last login: Thu Apr 9 14:27:55 2015 from 192.168.1.39
Oracle Corporation SunOS 5.10 Generic Patch January 2005
$ su - root
Password:
# id
uid=0(root) gid=0(root)
查看/var/adm/sulog,可以發現帳號的切換情況:
SU 04/09 14:27 + pts/3 admin1-root
在設定上有一點需要特別注意,當root轉變為角色後, 最少要把一個使用者帳號加入root角色,否則一但root登出後,因為沒有任何帳號擁有root角色,加上root角色又無法登入,會導致無法使用root權限,只能重開到單機模式(Singel-User),再以root身份直接登入,重新指派後再正常開機了。
# usermod -R "" admin1
# rolemod -K type=normal root
查看/etc/user_attr內的設定改變:
# grep root /etc/user_attr
root::::type=normal;auths=solaris.*,solaris.grant ...略
從Solaris 11開始,root帳號在圖形安裝介面下預設就一定是角色了
本篇參考我的Blog:https://blog.twtnn.com/